Many middlewares for networks such as home networks use two device types: control points (controllers) and controlled devices. Control points manipulate devices by discovering devices and controlling devices. It is desirable for control points to discover all devices in the network in order to control all the devices. However, there are cases where control points can discover only a limited number of devices or control only a few of the devices because of network configuration (such as multiple routers) or usage of special hardware (such as firewire).
For example, Universal Plug and Play (UPnP) defines a control protocol in a network of interconnected device, wherein the first step in UPnP networking is discovery. When a device is added to the network, the UPnP discovery protocol allows that device to advertise its services to control points (e.g., controllers) in the network. Similarly, when a control point is added to the network, the discovery protocol allows that control point to search for devices of interest in the network.
The UPnP discovery protocol relies on multicast over IP in the network. If a network configuration uses multiple routers, multicast packets from a control point for discovery may not be visible for another control point. This is because multicast is not always forwarded between networks. In that case, control points in the network are separated into groups and controls for devices are limited only to devises “visible” to the control points.
Home Audio Visual Interoperability Architecture (HAVi) uses firewire for discovery. If a control point does not have firewire port, it cannot discover any of devices in the firewire network. HAVi to UPnP bridges can be used to connect HAVi devices to UPnP devices or vice versa. However, the bridges are designed with only specific home network middlewares with limited functionalities and do not provide a general method of aggregating control points.
There is therefore a need for a method and system for aggregating the control of middleware control points in a network.